package com.yunguanjia.base.domain.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yunguanjia.common.annotation.Excel;
import com.yunguanjia.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * 医药信息对象 medicines
 *
 * @author xzh
 * @date 2024-11-16
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("medicines")
public class Medicines extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * Id
     */
    @TableId(type = IdType.AUTO)
    private String id;

    /**
     * 医药名称
     */
    @Excel(name = "医药名称")
    private String name;

    /**
     * 数量
     */
    @Excel(name = "数量")
    private Long quantity;

    /**
     * 规格单位
     */
    @Excel(name = "规格单位")
    private String unit;

    /**
     * 生产地点
     */
    @Excel(name = "生产地点")
    private String origin;

    /**
     * 使用量
     */
    @Excel(name = "使用量")
    private String usager;

    /** 搜索值 */
    @JsonIgnore
    @TableField(exist = false)
    private String searchValue;

    /** 请求参数 */
    @TableField(exist = false)
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Map<String, Object> params;

    /** 搜索值 */
    @JsonIgnore
    @TableField(exist = false)
    private String remark;

    /**
     * 使用注意事项
     */
    @Excel(name = "使用注意事项")
    private String cautions;

    /**
     * 是否删除（默认为0未删除，1为已删除）
     */
    private Long delFlag;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getQuantity() {
        return quantity;
    }

    public void setQuantity(Long quantity) {
        this.quantity = quantity;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getOrigin() {
        return origin;
    }

    public void setOrigin(String origin) {
        this.origin = origin;
    }

    public String getUsager() {
        return usager;
    }

    public void setUsager(String usager) {
        this.usager = usager;
    }

    public String getCautions() {
        return cautions;
    }

    public void setCautions(String cautions) {
        this.cautions = cautions;
    }

    public Long getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Long delFlag) {
        this.delFlag = delFlag;
    }
}
